若子類別要變更父類別的方法與屬性來達成多型,可以透過以下兩種方式
1.子類別透new 來取代父類別的成員
使用new關鍵字
public class 父類別
{
public int 欄位名稱=0;
}
public class 子類別 : 父類別
{
public new int 欄位名稱=1;
}
2.於父類別中宣告virtual 成員,然後在子類別使用override 來覆寫父類別的成員
使用virtual 與 override關鍵字
public class 父類別
{
public virtual int 欄位名稱
{ get { return 0; } }
}
public class 子類別: 父類別
{
public override int 欄位名稱
{ get { return 10; } }
}